home *** CD-ROM | disk | FTP | other *** search
/ Computer Inter@ctive 17 / Computer Interactive cdrom 17 - gen 99.iso / ZDNETIT / CONTENT / SMTPCEMS.ZIP / QM_PGM.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1998-11-14  |  3.0 KB  |  100 lines

  1. //
  2. // Borland C++ Builder Example Program
  3. //
  4. //---------------------------------------------------------------------------
  5. #include <vcl\vcl.h>
  6. #pragma hdrstop
  7.  
  8. #include "qm_pgm.h"
  9. #include "see.h"
  10.  
  11. // *** IMPORTANT NOTES ***
  12. //   SEE32_.LIB was added to QM_PRJ.MAK
  13. //   To create SEE32_.LIB from SEE32.DLL, run the Borland IMPLIB program:
  14. //     IMPLIB SEE32_.LIB SEE32.DLL
  15.  
  16.  static char Server[65]   = "\0";
  17.  static char From[65]     = "\0";
  18.  static char Reply[2]     = "\0";
  19.  static char To[65]       = "\0";
  20.  static char Subject[65]  = "\0";
  21.  static char Message[1025]= "\0";
  22.  static char IsNull[2]    = "\0";
  23.  static char Buffer[65]   = "\0";
  24.  
  25. //---------------------------------------------------------------------------
  26. #pragma resource "*.dfm"
  27. TForm1 *Form1;
  28. //---------------------------------------------------------------------------
  29. __fastcall TForm1::TForm1(TComponent* Owner)
  30.         : TForm(Owner)
  31. {
  32. }
  33. //---------------------------------------------------------------------------
  34. void __fastcall TForm1::mExitClick(TObject *Sender)
  35. {seeClose();
  36.  Close();
  37. }
  38. //---------------------------------------------------------------------------
  39. void __fastcall TForm1::mConnectClick(TObject *Sender)
  40. {int Code;
  41.  eServer->GetTextBuf((char *)Server, 64);
  42.  eFrom->GetTextBuf((char *)From, 64);
  43.  seeStringParam(SEE_LOG_FILE,(LPSTR)"qm.log");
  44.  if(strlen(Server)<=1)
  45.    {eResult->SetTextBuf("'Server' field is empty!");
  46.     return;
  47.    }
  48.  if(strlen(From)<=1)
  49.    {eResult->SetTextBuf("'From' field is empty!");
  50.     return;
  51.    }
  52.  // connect to server
  53.  eResult->SetTextBuf("Connecting to server...");
  54.  Code = seeSmtpConnect(
  55.    (LPSTR)Server,    // SMTP server
  56.    (LPSTR)From,      // return email address
  57.    (LPSTR)Reply);
  58.  if(Code>=0)
  59.    {eResult->SetTextBuf("Connection completed.");
  60.     mSend->Enabled = true;
  61.     mClose->Enabled = true;
  62.     mConnect->Enabled = false;
  63.    }
  64.  else
  65.    {seeErrorText(Code,(LPSTR)Buffer,64);
  66.     eResult->SetTextBuf(Buffer);
  67.    }
  68. }
  69. //---------------------------------------------------------------------------
  70. void __fastcall TForm1::mSendClick(TObject *Sender)
  71. {int Code;
  72.  eResult->SetTextBuf("Sending email...");
  73.  eTo->GetTextBuf((char *)To, 64);
  74.  eSubject->GetTextBuf((char *)Subject, 64);
  75.  eMessage->GetTextBuf((char *)Message, 1024);
  76.  Code = seeSendEmail(
  77.     (LPSTR)To,           // To list
  78.     (LPSTR)IsNull,       // CC list
  79.     (LPSTR)IsNull,       // BCC list
  80.     (LPSTR)Subject,      // subject
  81.     (LPSTR)Message,      // message text
  82.     (LPSTR)IsNull);      // attachment
  83.  if(Code>=0)
  84.    {eResult->SetTextBuf("Email sent.");
  85.    }
  86.  else
  87.    {seeErrorText(Code,(LPSTR)Buffer,64);
  88.     eResult->SetTextBuf(Buffer);
  89.    }
  90. }
  91. //---------------------------------------------------------------------------
  92. void __fastcall TForm1::mCloseClick(TObject *Sender)
  93. { eResult->SetTextBuf("Connection closed.");
  94.   seeClose();
  95.   mConnect->Enabled = true;
  96.   mSend->Enabled = false;
  97.   mClose->Enabled = false;
  98. }
  99. //---------------------------------------------------------------------------
  100.